home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 30
/
Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso
/
Aminet
/
util
/
time
/
backclock.lha
/
BackClock
/
sources
/
utils.h
< prev
Wrap
C/C++ Source or Header
|
1999-01-10
|
4KB
|
143 lines
/* version 2.3
*/
#ifndef __UTILS_H
#define __UTILS_H
#include <intuition/intuition.h>
#include <devices/timer.h>
#include <exec/ports.h>
#include <dos/dos.h>
#include <dos/dosextens.h>
#include <libraries/notifyintuition.h>
#include <workbench/startup.h>
#define ERRORNOMEM 1
#define ERRORNOPORT 2
#define ERRORUNKNOWNCMD 3
#define OK -1
#define TITLE "BackClock V2.32"
#define MAXH 1000
struct RGB {
UBYTE R,
G,
B,
pad ;
ULONG reg ;
} ;
#define NUM_COLORS 7
#define COL_SEC 0
#define COL_MIN 1
#define COL_HEU 2
#define COL_TIC 3
#define COL_BAC 4
#define COL_MPO 5
#define COL_BLA 6
#define IDCMP IDCMP_CHANGEWINDOW|IDCMP_NEWSIZE
#define WFLG WFLG_BACKDROP|WFLG_BORDERLESS
#define TXT_SCRTITLE "BackClock"
struct specWin {
ULONG posX ; // X pos \
ULONG posY ; // Y pos \ window
ULONG width ; // width /
ULONG height ; // height /
struct RGB cmap[NUM_COLORS] ; // colors
UWORD fill ; // fill background ?
UWORD filln ; // fill arrows ?
UWORD drawsec ; // draw seconds arrow ?
UWORD drawsha ; // draw shadow ?
UWORD drawmpo ; // draw middle point ?
} ;
struct prjSt {
struct Window * win ; // remplit par OpenWindow()
struct DateStamp * date ; // date au format interne
char datestr[10] ; // date au format ASCII
UBYTE heu ; // heure
UBYTE min ; // minute
UBYTE sec ; // secondes
struct timerequest * treq ; // requete I/O timer.device
struct MsgPort * trport ; // port rply timer
UBYTE timerok ; // ouverture timer ok
struct IntNotifyRequest * Notify ; // requete notify
struct MsgPort * notifyPort ; // port reply notify
struct specWin backWin ;
ULONG lastError ;
struct Screen * wb ; // lock to WB
struct RastPort * RP1 ; // tmp rp 1
struct RastPort * RP2 ; // tmp rp 2
struct TmpRas * tmpras ; // tmpras vertice
struct AreaInfo * ai ;
} ;
struct backMsg {
struct Message execmsg ;
ULONG Class ;
APTR ptrPrj ; // pointeur sur prj à retourner lors d'un BC_GetPrj
LONG error ; // contient l'erreur de retour
} ;
/* differentes classes
*/
#define BC_Quit 0x00000001 // recu demande d'arret externe
#define BC_GetPrj 0x00000002 // recu l'envoi adresse prj
#define BC_Refresh 0x00000003 // recu demande de rafraichissement
#define BC_SaveConf 0x00000004 // reçu demande de sauvegarde prefs
#define BC_UseConf 0x00000005 // reçu demande d'utiliser nouvelle prefs
#define BC_SetWindow 0x00000006 // pos & taille window changées
#define BC_RefreshColors 0x00000007 // colors changed
typedef prjSt idWin ;
// gadget systemes
struct Gadget szgdg = {
NULL,
0,0, 100, 15,
GFLG_GADGHNONE,
GACT_RELVERIFY,
GTYP_WDRAGGING,
NULL,
NULL,
NULL,
NULL,
NULL,
10,
NULL
} ;
struct Gadget tagdg = {
NULL,
0,0, 0, 0,
GFLG_GADGHNONE,
GACT_RELVERIFY,
GTYP_SIZING,
NULL,
NULL,
NULL,
NULL,
NULL,
11,
NULL
} ;
ULONG top = NULL ;
// proto
idWin * init(WBArg *) ;
void close(idWin *) ;
void getDate(idWin *) ;
void writeDate(idWin *) ;
extern void DateToByte(register __a0 char *, register __a1 idWin *) ;
void initwin(idWin * prj) ;
void processwin(idWin* prj) ;
void effacer(idWin * prj) ;
void retracer(idWin * prj) ;
void runtimer(idWin * prj,long) ;
void setArgs(idWin * prj, LONG * args) ;
int exists() ;
void ez_req(UBYTE *, UBYTE *, UBYTE *, APTR) ;
#endif